package com.boil.qz.safekavass.service;

import com.boil.qz.safekavass.dao.MybatisDao;
import com.boil.qz.safekavass.model.HomeAdvert;
import com.boil.qz.safekavass.pojo.HomeAdvertVo;
import com.boil.qz.safekavass.repository.HomeAdvertRepository;
import com.boil.util.Constants;
import com.boil.util.Page;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * Created by ChenYong on 2017-04-17.
 * <br>
 * 首页广告 Service。
 */
@Service
public class HomeAdvertService extends JpaRepositoryService<HomeAdvert, Long> {
    /**
     * 注入 Mybatis Dao
     */
    @Autowired
    private MybatisDao mybatisDao;
    /**
     * 注入首页广告实体仓库
     */
    @Autowired
    private HomeAdvertRepository homeAdvertRepository;

    /**
     * 分页查询广告。
     *
     * @param page 分页实例
     */
    public void findInPage(Page<HomeAdvertVo> page) {
        mybatisDao.selectInPage("homeAdvertVoNs.findInPage", page);
    }

    /**
     * 根据广告 ID 拼接的字符串显示或隐藏广告。
     *
     * @param ids    广告 ID 拼接的字符串
     * @param isShow 是否显示广告：
     *               <ul>
     *               <li>1-是；</li>
     *               <li>0-否。</li>
     *               </ul>
     * @return 显示或隐藏广告的广告数量
     */
    public void updateIsShowById(String ids, String isShow) {
        if (StringUtils.isBlank(ids) || StringUtils.isBlank(isShow)) {
            return;
        }

        for (String idStr : ids.split(Constants.SPLIT_1_RE)) {
            HomeAdvert homeAdvert = findOne(Long.valueOf(idStr));
            homeAdvert.setIsShow(isShow);
        }
    }
}